import React from 'react'
import { useEffect } from 'react'
import { useState } from 'react'

export default function TestSet() {
    let [msg, setMsg] = useState('atguigu')
    // 组件挂载后执行
    useEffect(()=>{
        setTimeout(()=>{
            // 效果课件，此处msg无法取到变化后最新的状态msg的值
            // setMsg(msg + '--------')

            // setMsg(回调函数)
            // 回调函数的参数，是最新的状态数据值， 回调函数的返回值，是设置的最新的值
            setMsg(msg=>{
                return msg + '-----'
            })
        },2000)
    },[])
    return (
        <div>
            <h3>test</h3>
            <p>msg: {msg}</p>
            <p><button onClick={()=>{
                setMsg(msg + '+')
            }}>msg + '+'</button></p>
        </div>
        
    )
}
